package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 教师信息业务对象 teacher
 *
 * @author ruoyi
 * @date 2025-06-30
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TeacherBo extends BaseEntity {

    /**
     * 教师ID
     */
    @NotNull(message = "教师ID不能为空", groups = { EditGroup.class })
    private Long teacherId;

    /**
     * 工号
     */
    @NotBlank(message = "工号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String teacherNo;

    /**
     * 教师姓名
     */
    @NotBlank(message = "教师姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String teacherName;

    /**
     * 性别（0男 1女）
     */
    @NotBlank(message = "性别（0男 1女）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gender;

    /**
     * 职称
     */
    @NotBlank(message = "职称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String title;

    /**
     * 联系电话
     */
    @NotBlank(message = "联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
    private String phone;

    /**
     * 邮箱
     */
    @NotBlank(message = "邮箱不能为空", groups = { AddGroup.class, EditGroup.class })
    private String email;

    /**
     * 所属院系
     */
    @NotBlank(message = "所属院系不能为空", groups = { AddGroup.class, EditGroup.class })
    private String department;

    /**
     * 状态（0在职 1离职）
     */
    @NotBlank(message = "状态（0在职 1离职）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String status;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;


}
